package org.jeecg.modules.degression.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.jeecg.modules.degression.pojo.MlccPriceSystemFactoryRecord;
import org.jeecg.modules.degression.pojo.MlccPricesystemFactoryCategory;

/**
 * 成本项管理
 */
public interface IFactoryDegressService {

    /**
     * 供应商新增成本
     *
     * @param category 品类ID
     */
    int saveDegress(String category, String userid);

    /**
     * 查询成本项列表
     *
     * @param page         分页器
     * @param category     类别
     * @param businessType 业务类型
     */
    IPage<MlccPricesystemFactoryCategory> listPrice(Page<MlccPricesystemFactoryCategory> page, Integer category, Integer businessType, String userid);

    /**
     * 删除不需要的成本项
     *
     * @param id
     */
    int delPriceC(String id);

    /**
     * 保存系统加急成本项(公用)
     *
     * @param costID       关联的参数的数据ID，如绣字的ID，绣字高度的id
     * @param typeID       类型：0定制项，1定制项下的参数，2绣字工艺，3撞色，4绣字部位，5绣字高度，6返修参数，7加急项
     * @param systemID     上级主键ID
     * @param systemCateID 成本管理的类别ID
     * @param categoryName 加急项名称
     * @param price        价格
     */
    int saveurgent(String costID, Integer typeID, String systemID, String systemCateID, String categoryName, String price, String costCode);

    /**
     * 获取保存的返修项
     *
     * @param page     分页器
     * @param systemID 上级ID
     * @param typeID   具体的成本类型ID
     */
    IPage<MlccPriceSystemFactoryRecord> listChengben(Page<MlccPriceSystemFactoryRecord> page, String systemID, String typeID);

    /**
     * 更新成本价
     *
     * @param id    成本数据ID
     * @param price 价格
     */
    int updatePrice(String id, String price);

    /**
     * 保存定制成本项
     *
     * @param systemID     上级主键ID
     * @param systemCateID 成本管理的类别ID
     * @param categoryID   类别ID
     * @param categoryName 类别名称
     * @param price        价格
     */
    int savePricesavePrice(String systemID, String systemCateID, String categoryID, String categoryName, String price, String costCode);

    /**
     * 删除成本项
     *
     * @param id 成本项id
     */
    int delChengben(String id);
}
